﻿using Abp.Application.Services.Dto;
using SingleUserMall.Common;
using SingleUserMall.Complains.Form;
using SingleUserMall.Complains.VO;
using System.ComponentModel;
using System.Threading.Tasks;

namespace SingleUserMall.Complains
{
    /// <summary>
    /// 投诉
    /// </summary>
    [Description("投诉")]
    public interface IComplainAppService:IAppService
    {
        /// <summary>
        /// 获取投诉列表
        /// </summary>
        /// <returns></returns>
        Task<PagedResultDto<ComplainViewVO>> GetComplainsAsync(PagedForm form);
        /// <summary>
        /// 获取投诉详情
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<ComplainViewVO> GetComplainAsync(SingleId<long> form);
        /// <summary>
        /// 提交投诉申请
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task PushComplainAsync(ComplainForm form);
        /// <summary>
        /// 获得投诉审核状态
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<string> CheckComplainStatus();
    }
}
